<?php
/**
 * Goods
 * Created by Veyron
 * motto:现在的拼搏 为了更好的明天
 * day:  2020/2/6
 * Time: 22:06
 */
namespace app\admin\validate;

use think\Validate;

class Goods extends Validate
{
    protected $rule = [
        'title'             => 'require|max:200', //商品名称
        'category_id'       => 'require',   //商品分类
        'sub_title'         => 'require|max:200',    //商品副标题
        'promotion_title'   => 'max:100',   //商品促销
        'keywords'          => 'max:255',   //关键词
        'goods_unit'        => 'max:5',     //商品单位
        'is_show_stock'     => 'in:0,1',    //库存显示
        'stock'             => 'number',    //库存量
        'goods_specs_type'  => 'in:1,2',    //商品规格
        'carousel_image'    => 'require',    //商品轮播图
        'recommend_image'   => 'require',   //商品展示图
        'description'       => 'require',    //商品详情
        'market_price'      => 'priceCheck',  //市场价
        'sell_price'        => 'priceCheck',  //销售价场价
        'production_time'   => 'date'
     ];

    protected $message = [
        'title.require'       => '商品名称不能为空',
        'title.max'           => '商品名称过长',
        'category_id.max'     => '商品分类不能为空',
        'sub_title.max'       => '商品副标题过长',
        'sub_title.require'   => '商品副标题不能为空',
        'promotion_title.max' => '商品促销语过长',
        'keywords.max'        => '关键词过长',
        'goods_unit.max'      => '商品单位过长',
        'is_show_stock.in'    => '库存显示参数错误',
        'stock'               => '库存必须为整数',
        'goods_specs_type.in' => '商品规格参数错误',
        'carousel_image'      => '商品轮播图不能为空',
        'recommend_image'     => '商品展示图不能为空',
        'description'         => '商品详情不能为空',
    ];

    /**
     * 自定义规则——验证金额（为整数或浮点）
     * @param $value
     * @param $rule
     * @param $data
     * @return bool|string
     */
    public function priceCheck($value,$rule,$data){
        if(!ctype_digit($value) && !filter_var($value,FILTER_VALIDATE_FLOAT)){
            return '输入价格格式不对';
        }
        return true;
    }
}
